#include <ctime>
#include <iostream>
#include <fstream>

using namespace std;

void bubbleSort(int list[], int listLength) {
    while(listLength--)  {
        bool swapped = false;

        for(int i = 0; i<listLength; i++) {
            if(list[i]>list[i + 1]) {
                swap(list[i], list[i + 1]);
                swapped = true;
            }
        }

        if(swapped == false) break;
    }

}
void read_from_file(const char*filename, int a[], int length)
{
    ifstream file(filename);
    for(int i=0; i<length; i++) {
        file >> a[i];
    }
}
int main()
{
    const int LEN = 5000;
    int a[LEN];

    read_from_file("m1_sorted.txt",a,LEN);
    unsigned int t_start = clock();
    bubbleSort(a, LEN);
    unsigned int t_finish = clock();
    unsigned int t_work = t_finish - t_start;
    cout<<"m1_sorted  " << t_work << " milliseconds \n";


    read_from_file("m2_reverse.txt",a,LEN);
    unsigned int t_2start = clock();
    bubbleSort(a, LEN);
    unsigned int t_2finish = clock();
    unsigned int t_2work = t_2finish - t_2start;
    cout<<"m2_reverse  " << t_2work << " milliseconds \n";


    read_from_file("m3_shuffle.txt",a,LEN);
    unsigned int t_3start = clock();
    bubbleSort(a, LEN);
    unsigned int t_3finish = clock();
    unsigned int t_3work = t_3finish - t_3start;
    cout<<"m3_shuffle  " << t_3work << " milliseconds \n";


    return 0;
}







